1. Field of the Invention
This invention relates to the monitoring of devices connected to a network. More particularly, it relates to a method, system, and computer program product for the remote monitoring of network-connected devices using multiple protocols.
2. Discussion of the Background
As is generally known, computer systems include hardware and software. Software includes a list of instructions that are created to operate and manage hardware components that make up a computer system. Typically, computer systems include a variety of hardware components/devices that interface with one another. The computer system can be a stand-alone type or a networked type. In a networked-type computer system, a plurality of distinct devices are connected to a network and thus communication between these distinct devices is enabled via the network.
Further, software for operating the hardware devices must be configured in order to allow communication between the hardware devices so that the hardware devices are enabled to function cooperatively. Further, in order to facilitate such a communication, it is also desirable for hardware devices to be monitored and the status of each hardware device identified in order to ensure that each hardware device is functioning in an efficient manner.
For the purposes of this patent application, the inventor has determined that a hardware device that is controlling, configuring, or monitoring the plurality of distinct devices or hardware devices would be referred to as a monitoring device and the hardware devices that are being controlled, configured, or monitored by the monitoring device would be referred to as “monitored devices.”
For hardware devices that are located on a network, it is desirable for these devices to be monitored for maintenance, usage, or other purposes. However, in view of manufacturer differences relating to hardware devices and interfaces, it may be difficult for a monitoring device to communicate with various other devices connected to a network. Such a disadvantage most likely prevents network administrators from obtaining crucial information about the performance and efficiency of the devices connected to the network.
The Simple Network Management Protocol (SNMP) is today a de-facto industry standard for the monitoring and management of devices on data communication networks, telecommunication systems and other globally reachable devices. Practically every organization dealing with computers and related devices expects to be able to centrally monitor, diagnose, and configure each such device across local- and wide-area networks. SNMP is the protocol that enables this interaction.
In order for a device to respond to SNMP requests, it is desirable to equip the device with the software that enables it to properly interpret an SNMP request, perform the actions required by that request, and produce an SNMP reply. The SNMP agent software is typically a subsystem software module residing in a network entity.
The collection of objects implemented by a system is generally referred to as a Management Information Base (MIB). An MIB may also be a database with information related to the monitoring of devices. Examples of other MIB's include Ethernet MIB, which focuses on Ethernet interfaces; Bridge MIB, which defines objects for the management of 802.1D bridges, to name a few.
Using SNMP for monitoring devices is difficult as private MIB's include values that are hard to decipher without a valid key. A company using SNMP for monitoring various devices connected to its network creates a unique identifier/key that is maintained as proprietary information of the company. For the most part, the results are displayed as binary or integer values. Thus, using SNMP, results received from the devices that are being monitored (“monitored devices”) fail to provide a user with the status of the monitored devices in a user comprehensible manner.
Further, using SNMP, it is difficult for one to obtain detailed information about a monitored device without a valid key or access to a private MIB to decipher the results obtained as binary or integer values. In addition, a given protocol (e.g., SNMP or HTTP/HTML) may fail for various reasons, such as time out or lost packets. Also, some information extracted from a given device using the multiple protocols may be duplicated for each protocol. Accordingly, if the extraction of data from the device is not properly managed in such situations, time and memory inefficiencies result since some protocols require more resources than other protocols. In addition, information extraction using some protocols may require much less processing and memory than using others. Furthermore, some information obtained through one protocol may be more useful for the monitoring device than the one obtained through another protocol.
SNMP has a standard command to retrieve the Enterprise Object Identifier (OID) and the System Description. However, many printers include an incorrect OID to identify the vendor of the printer. For example, the inventors of the present application have observed that some models of Samsung and Brother use HP OID for their printers. Also, when companies merge or are acquired, the old OID may still be used in some machines.
Another technique to identify the vendor is to use the system description. However, in one case, the inventors of the present application observed that the System Description did not contain the vendor name, but the Enterprise OID did contain the vendor name. For example, the inventors of the present application have observed that some models of Konica Minolta do not contain the vendor name.
Many digital copiers, printers, and Multi Function (MF) machines have a web server through which the vendor name can be obtained using a browser. HTML has an advantage over SNMP because the information obtained using HTML is human readable. Unlike private MIB information in SNMP, any information obtained through HTML can be understood by a human. Therefore, meaningful information can be obtained from machines by using the HTTP communication protocol.
Furthermore, vendor names and/or model names of a machine may be different when the vendor name and the model name are obtained through the use of different protocols. For example, SNMP Enterprise OID may indicate Minolta, while HTTP may indicate Konica Minolta. The reason for this discrepancy is that Konica and Minolta merged. In some cases, the vendor name and/or model name may differ in terms of capitalization. For example, SNMP may indicate HP, while HTTP may indicate hp. In another case, the initials, such as HP, of a company may be used in one protocol, while the full company name may be used in another protocol. The inventors of the present application have recognized a problem in working with different vendor and/or product model names and a need to obtain uniform vendor and/or product model names.
Although human readable information can be extracted from machines by using HTTP/HTML processing, there is no need to perform the functions of a browser to extract the needed information. The inventors of the present application have recognized a need to simplify the process of extracting information using HTTP/HTML processing.